package despegar.utiles;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

public abstract class FormatoFechaBase implements FormatoFecha {	
	public Date convertir(String texto) {
		this.validar(texto);
		try	{
//			fail(this.getFormato());
			DateFormat formatter = new SimpleDateFormat(this.getFormato());
			return formatter.parse(texto);
		}
		catch(Exception ex) {
			throw new ParseFechaException(texto);
		}
	}
	
	public String formatear(Fecha unaFecha) {
		DateFormat formatter = new SimpleDateFormat(this.getFormato());
		return formatter.format(unaFecha.getDate());
	}
	
	protected abstract void validar(String texto);
	
	protected abstract String getFormato();
}
